const { PrismaClient } = require('@prisma/client');
const prisma = new PrismaClient();

async function initSystemConfig() {
    try {
        // 定义系统配置
        const configs = [
            {
                key: 'points_exercise',
                value: JSON.stringify({
                    daily_limit: 100,          // 每日积分上限
                    points_per_exercise: 10    // 每次生成题目获得积分
                })
            },
            {
                key: 'points_image',
                value: JSON.stringify({
                    cost_per_image: 50         // 每次生成图片消耗积分
                })
            },
            {
                key: 'share_reward',
                value: JSON.stringify({
                    days: 7,                   // 分享奖励天数
                    monthly_limit: 10          // 每月分享奖励次数上限
                })
            },
            {
                key: 'member_prices',
                value: JSON.stringify({
                    1: { days: 7, amount: 9.9 },
                    2: { days: 30, amount: 29.9 },
                    3: { days: 365, amount: 299 }
                })
            },
            {
                key: 'wechat_share',
                value: JSON.stringify({
                    title: '快来和我一起学习汉字',
                    imageUrl: 'https://example.com/share.jpg'
                })
            }
        ];

        // 使用 upsert 批量更新或创建配置
        for (const config of configs) {
            await prisma.systemConfig.upsert({
                where: { key: config.key },
                update: { value: config.value },
                create: {
                    key: config.key,
                    value: config.value
                }
            });
        }

        console.log('System configurations initialized successfully');

        // 查询并显示所有配置
        const allConfigs = await prisma.systemConfig.findMany();
        console.log('\nCurrent configurations:');
        allConfigs.forEach(config => {
            console.log(`${config.key}:`, JSON.parse(config.value));
        });

    } catch (error) {
        console.error('Error initializing system configurations:', error);
    } finally {
        await prisma.$disconnect();
    }
}

// 执行初始化
initSystemConfig(); 